package com.itheima.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test001 {
    /*
    请定义一个Collection类型的集合，存储以下字符串：
		“JavaEE企业级开发指南”，”Oracle高级编程”，”MySQL从入门到精通”，
		”Java架构师之路”
	请编程实现以下功能：
    使用迭代器遍历所有元素，并打印
    使用迭代器遍历所有元素，筛选书名小于10个字符的，并打印；
    使用迭代器遍历所有元素，筛选书名中包含“Java”的，并打印
    如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名。
	(注意：以上功能写在一个main()方法中，但请单独实现)
     */
    public static void main(String[] args) {
        //请定义一个Collection类型的集合，存储以下字符串;
        Collection<String> coll =  new ArrayList<>();
        //存储以下字符串：
        //		“JavaEE企业级开发指南”，”Oracle高级编程”，”MySQL从入门到精通”，
        //		”Java架构师之路”
        coll.add("JavaEE企业级开发指南");
        coll.add("Oracle高级编程");
        coll.add("MySQL从入门到精通");
        coll.add("Java架构师之路");
        //使用迭代器遍历所有元素，并打印
        Iterator<String> iterator = coll.iterator();
        while (iterator.hasNext()) {
            String s = iterator.next();
            System.out.println(s);
        }
        System.out.println("====================================");
        //使用迭代器遍历所有元素，筛选书名小于10个字符的，并打印；
        Iterator<String> iterator1 = coll.iterator();
        while (iterator1.hasNext()) {
            String s = iterator1.next();
            if(s.length()<10)
                System.out.println(s);
        }
        System.out.println("====================================");
        //使用迭代器遍历所有元素，筛选书名中包含“Java”的，并打印
        Iterator<String> iterator2 = coll.iterator();
        while (iterator2.hasNext()) {
            String s = iterator2.next();
            if(s.contains("Java"))
                System.out.println(s);
        }
        System.out.println("====================================");
        //如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名
        Iterator<String> iterator3 = coll.iterator();
        while (iterator3.hasNext()) {
            String s = iterator3.next();
            if(s.contains("Oracle")){
                iterator3.remove();
            }else {
                System.out.println(s);
            }

        }

    }

    private static void method() {
        Collection<String> coll = new ArrayList<>();
        coll.add("JavaEE企业级开发指南");
        coll.add("Oracle高级编程");
        coll.add("MySQL从入门到精通");
        coll.add("Java架构师之路");

        //首先要通过collection来获取迭代器对象;
        Iterator<String> iterator = coll.iterator();
        //使用迭代器遍历所有元素，并打印
        while (iterator.hasNext()) {
            String next = iterator.next();
            System.out.println(next);
        }
        //使用迭代器遍历所有元素，筛选书名小于10个字符的，并打印；
        Iterator<String> iterator1 = coll.iterator();
        while (iterator1.hasNext()) {
            String s = iterator1.next();
            if (s.length() < 10) {
                System.out.println(s);
            }
        }
        //使用迭代器遍历所有元素，筛选书名中包含“Java”的，并打印
        Iterator<String> iterator2 = coll.iterator();
        while (iterator2.hasNext()) {
            String s = iterator2.next();
            if(s.contains("Java"))
                System.out.println(s);
        }
        //如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名。
        Iterator<String> iterator3 = coll.iterator();
        while (iterator3.hasNext()) {
            String s = iterator3.next();
            if(s.contains("Oracle")){
                iterator3.remove();
            }else{
                System.out.println(s);
            }

        }
    }
}
